##### 6.3.8.2 The Front End `config-lang.in` File

Each language subdirectory contains a `config-lang.in` file. This file is a shell script that may define some variables describing the language:

`language`
  This definition must be present, and gives the name of the language for some purposes such as arguments to `--enable-languages`.
`lang_requires`
  If defined, this variable lists (space-separated) language front ends other than C that this front end requires to be enabled (with the names given being their `language` settings). For example, the Java front end depends on the C++ front end, so sets ``lang_requires=c++`'.
`subdir_requires`
  If defined, this variable lists (space-separated) front end directories other than C that this front end requires to be present. For example, the Objective-C++ front end uses source files from the C++ and Objective-C front ends, so sets ``subdir_requires="cp objc"`'.
`target_libs`
  If defined, this variable lists (space-separated) targets in the top level `Makefile` to build the runtime libraries for this language, such as `target-libobjc`.
`lang_dirs`
  If defined, this variable lists (space-separated) top level directories (parallel to `gcc`), apart from the runtime libraries, that should not be configured if this front end is not built.
`build_by_default`
  If defined to ``no`', this language front end is not built unless enabled in a `--enable-languages` argument. Otherwise, front ends are built by default, subject to any special logic in `configure.ac` (as is present to disable the Ada front end if the Ada compiler is not already installed).
`boot_language`
  If defined to ``yes`', this front end is built in stage1 of the bootstrap. This is only relevant to front ends written in their own languages.
`compilers`
  If defined, a space-separated list of compiler executables that will be run by the driver. The names here will each end with ``\$(exeext)`'.
`outputs`
  If defined, a space-separated list of files that should be generated by `configure` substituting values in them. This mechanism can be used to create a file `language/Makefile` from `language/Makefile.in`, but this is deprecated, building everything from the single `gcc/Makefile` is preferred.
`gtfiles`
  If defined, a space-separated list of files that should be scanned by `gengtype.c` to generate the garbage collection tables and routines for this language. This excludes the files that are common to all front ends. See Type Information.